package org.wedding.center.service;

import org.wedding.dto.PageModel;
import org.wedding.center.dto.query.AttachQuery;
import org.wedding.center.entity.AttachInfo;

import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import org.wedding.utils.CommonResult;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 图片附件表(AttachInfo)表服务接口
 *
 * @author songkaiyue
 * @since 2025-05-14 16:25:48
 */
public interface AttachInfoService extends IService<AttachInfo> {

    /**
     * 分页查询
     *
     * @return CommonResult 统一返回类
     */
    CommonResult<PageModel> findAll(AttachQuery query);

    /**
     * 新增对象数据
     *
     * @param attachInfo 筛选条件
     * @return CommonResult 统一返回类
     */
    CommonResult add(AttachInfo attachInfo);

    /**
     * 通过主键查询数据
     *
     * @param id 主键
     * @return CommonResult 统一返回类
     */
    CommonResult<AttachInfo> view(String id);

    /**
     * 通过主键更新数据
     *
     * @param attachInfo 筛选条件
     * @return CommonResult 统一返回类
     */
    CommonResult updateEntity(AttachInfo attachInfo);

    /**
     * 修改文件名
     * @param id
     * @param fileName
     * @return
     */
    CommonResult updateFileName(String id,String fileName);

    /**
     * 通过主键删除数据
     *
     * @param ids 主键
     * @return CommonResult 统一返回类
     */
    CommonResult delete(List<String> ids);


    CommonResult<AttachInfo> uploadAttach(AttachInfo attachInfo);

    /**
     * 根据sort和businessId查询
     *
     * @param sort
     * @param businessId
     * @return
     */
    CommonResult<List<AttachInfo>> findBySortAndBusinessId(String sort, String businessId);



}
